/*
 * MyString.h
 *
 *  Created on: 17 déc. 2013
 *      Author: Raphaël
 */

#ifndef MYSTRING_H_
#define MYSTRING_H_

#include <string>
#include "raphTools/Object.h"

class MyString: public std::string, public raph::Object
    {
    public:
        MyString(const char*);
        MyString(const std::string&);
        MyString(const MyString&);
        MyString();
        virtual ~MyString();
        MyString& operator+(const raph::type::T_FLOAT128 &);
        std::string toString() override;
        MyString toLower();
        MyString toUpper();
        template<typename T> static T toNumber(const std::string&);
        static MyString fromNumber(const raph::type::T_FLOAT128&);
    };

#include "MyString.tpp"

#endif /* MYSTRING_H_ */
